<!DOCTYPE html>
<html>

  <head>
	<meta charset="UTF-8">
	<title>Xtext - Xtext 2.9 Release Candidate</title>
	
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description"
		content="The website of Eclipse Xtext, an open-source framework for development of programming languages and domain-specific languages">
	<meta name="author" content="Sven Efftinge">
	<meta name="author" content="Miro Spoenemann">
	<!--  styles -->
	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
	<!--[if lt IE 9]>
	  <script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	
	<!-- Le fav and touch icons -->
	<link rel="shortcut icon" href="/Xtext/images/favicon.png">
	
	<link href="/Xtext/css/bootstrap.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/bootstrap-responsive.css" rel="stylesheet" type='text/css'>
	<link href="/Xtext/css/shield-responsive.css" rel="stylesheet" type='text/css'>
	<link href='/Xtext/css/fonts.css' rel='stylesheet' type='text/css'>
	<link href="/Xtext/css/prettyPhoto.css" rel="stylesheet" media="screen" type='text/css'>
	<link href="/Xtext/css/prettify.css" type="text/css" rel="stylesheet"/>
	<link href="/Xtext/css/style.css" rel="stylesheet" type='text/css'>
	<!-- cover flow -->
	<link href="/Xtext/css/coverflow.css" rel="stylesheet" type='text/css'>
	<!--[if lt IE 9]>
	  <link href="/css/iebugs.css" rel="stylesheet" type='text/css'>
	<![endif]-->

	<!-- BEGIN Cookie Consent
	<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
	<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
	<script>
	window.addEventListener("load", function(){
	window.cookieconsent.initialise({
		"palette": {
		"popup": {
		  "background": "#000"
		},
		"button": {
		  "background": "#f1d600"
		}
		},
		"theme": "edgeless",
		"type": "opt-in",
		onInitialise: function (status) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		},
		onStatusChange: function(status, chosenBefore) {
		  var type = this.options.type;
		  var didConsent = this.hasConsented();
		  if (type == 'opt-in' && didConsent) {
		    // TODO: enable cookies
		  }
		  if (type == 'opt-out' && !didConsent) {
		    // TODO: disable cookies
		  }
		}, 
		onRevokeChoice: function() {
		  var type = this.options.type;
		  if (type == 'opt-in') {
		    // TODO: disable cookies
		  }
		  if (type == 'opt-out') {
		    // TODO: enable cookies
		  }
		},
		"content": {
		"href": "https://www.eclipse.org/legal/privacy.php"
		}
	})});
	</script>
	END Cookie Consent -->
</head>


  <body>
  
    <header class="site-header">

  <!-- Navbar -->
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="btn btn-navbar" data-toggle="collapse"
          data-target=".nav-collapse"> <span class="icon-bar"></span> <span
          class="icon-bar"></span> <span class="icon-bar"></span>
        </a> <a class="brand" href="/Xtext/index.html"></a>
        <div class="nav-collapse collapse" style="height: 0px;">
          <ul class="nav">
            <!--li ><a href="/Xtext/news.html">News</a></li-->
            <li ><a href="/Xtext/download.html">Download</a></li>
            <li ><a href="/Xtext/documentation/index.html">Documentation</a></li>
            <li ><a href="/Xtext/community.html">Community</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Support &amp; Trainings<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="https://info.itemis.com/professional-xtext-support" target="_blank">itemis</a></li>
                <li><a href="https://www.typefox.io/language-engineering/" target="_blank">TypeFox</a></li>
              </ul>
            </li>
            <li ><a href="https://eclipse.dev/Xtext/xtend">Xtend</a></li>
          </ul>
          <!--div class="nav pull-right">
            <li ><a><iframe src="https://ghbtns.com/github-btn.html?user=eclipse&repo=xtext&type=star&count=true" frameborder="0" scrolling="0" width="170px" height="20px"></iframe></a></li>
          </div-->
        </div>
        <!--/.nav-collapse -->
      </div>
    </div>
  </div>
  <!-- Navbar End -->

</header>


    <div class="page-content">
  <div class="wrapper">
    <div id="page">  
    	<div class="inner">
    		<br/><br/>
    		<div id="maincontainer" class="container">
    			<div class="span8 offset1">
    				<h1>Xtext 2.9 Release Candidate</h1>
    				<h4>Nov 11, 2015</h4>
    				<br/>
    				<p>A release candidate of the upcoming version of Xtext can now be tried and tested. <br />
The Eclipse plugins are available through the milestone update site:</p>

<p><a href="https://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/">https://download.eclipse.org/modeling/tmf/xtext/updates/composite/milestones/</a></p>

<p>The IntelliJ IDEA Plugins are available through this repository URL:</p>

<p><a href="https://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.rc1/updatePlugins.xml">https://download.eclipse.org/modeling/tmf/xtext/idea/2.9.0.rc1/updatePlugins.xml</a></p>

<p>You need to add that URL as a repository in IDEA and choose all three plugins (org.eclipse.xtext, org.eclipse.xtext.xtext and org.eclipse.xtend),<br />
because IDEA doesn’t pull-in dependencies automatically.</p>

<h3 id="when-is-the-release">When Is The Release?</h3>

<p>If everything goes smoothly and noone reveals major issues in this release candidate (please try hard!), <br />
we hope to get out the release on <em>December 1st</em>.</p>

<h3 id="whats-new">What’s new?</h3>

<h4 id="intellij-idea-as-an-alternative-to-eclipse">IntelliJ IDEA As An Alternative To Eclipse</h4>
<p>In addition to the existing Eclipse integration, it is now possible to design languages entirely in IntelliJ IDEA, as well.<br />
Languages developed in Eclipse can target all available platforms (Eclipse, IntelliJ IDEA (new), Web editors (new)) while when<br />
working in IDEA it is not possible to develop an Eclipse plug-in for you language. IDEA is just not so well suited for Eclipse Plug-in development.</p>

<p><em>Also note: This doesn’t mean we are dropping Eclipse support, nor are we going to think of that any time soon!</em></p>

<h4 id="headless-builds-for-xtext-projects">Headless Builds For Xtext Projects</h4>
<p>No matter what IDE you choose for development, or what target platforms for your language you want you’ll get a fully working build based on Maven and/or Gradle.<br />
So your Xtext projects can be built and published in any headless Java environment. That’s why one essentially really doesn’t need a particular<br />
tool to develop Xtext languages anymore. That said, it’s recommended to use them anyway :).</p>

<h4 id="new-project-wizard">New Project Wizard</h4>
<p>The new wizard runs in both Eclipse and IntelliJ IDEA and lets you choose, whether you want to have <br />
editor support at all (yes you can just focus on the compiler) and what build-systems you prefer.</p>

<h4 id="web-support">Web Support</h4>
<p>One of two new target platforms is web editor support for Xtext languages. With Eclipse Orion, Ace, and Code Mirror, we already support three different JS editors.<br />
Each with a slightly different set of features and requirements. Check out <a href="https://spoenemann.blogspot.de/2015/05/editing-dsls-in-web-browser.html">Miro’s blog post</a> on how to give it a spin.</p>

<h4 id="language-editors-for-intellij-idea">Language Editors for IntelliJ IDEA</h4>
<p>The other new editor target platform is IntelliJ IDEA. We even developed a <a href="https://github.com/xtext/xtext-gradle-plugin/tree/master/xtext-idea-gradle-plugin">full gradle integration</a> to build, test and run<br />
the developed IDEA plugins.</p>

<h4 id="all-new-code-generator">All New Code Generator</h4>
<p>We finally managed to rewrite the old Xtext code generator entirely in Xtend.<br />
It’s now much simpler, faster and more convenient to use and more fun to maintain :).</p>

<h4 id="new-grammar-language-features">New Grammar Language Features</h4>
<p>The Xtext Grammar Language got some new features, to reduce redundancy in more complex grammars such as an ECMAScript 6 IDE<br />
we help a customer with. <a href="https://zarnekow.blogspot.de">Sebastian has written</a> about some of them.</p>

<h4 id="many-more-fixes-and-improvements">Many More Fixes And Improvements</h4>
<p>As if that wasn’t enough new stuff, we of course have also more than 200 issues on the go.<br />
The <a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;f0=OP&amp;f1=OP&amp;f3=CP&amp;f4=CP&amp;j1=OR&amp;list_id=13155507&amp;query_format=advanced&amp;status_whiteboard=v2.9&amp;status_whiteboard_type=allwordssubstr">detailed list</a> can be found in our bug tracker.</p>


    			</div>
    		</div>
      </div>
    </div>
  </div>
</div>
    
    <footer class="site-footer">
  <div id="extra">
    <div class="inner">
      <div class="container">
        <div class="row">
          <div class="span6">
            <h3 class="footer-links-header">Quick Links</h3>
            <ul class="footer-links clearfix">
              <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
              <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
              <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
              <li><a href="https://www.eclipse.org/legal/">Legal</a></li>
            </ul>
            <ul class="footer-links clearfix">
              <li><a href="https://www.eclipse.org">Eclipse Home</a></li>
              <li><a href="https://marketplace.eclipse.org/">Market Place</a></li>
              <li><a href="https://www.planeteclipse.org/">Eclipse Planet</a></li>
              <li><a href="https://www.eclipse.org/forums/index.php/f/27/">Xtext Forum</a></li>
            </ul>
            <br/><br/>
            Xtext is a trademark of the Eclipse Foundation, Inc. and is used with permission
            <br/><br/>
            <img src="/Xtext/images/eclipse-foundation-white-orange.svg" alt="Eclipse Foundation"/>
          </div>
          <div class="span6">
            <!-- Social Media Links -->
            <h3 class="footer-links-header">Social Media</h3>
            <ul class="footer-links clearfix">
              <li>
                <a href="https://twitter.com/xtext"><img src="/Xtext/images/Twitter-bird-darkgray.png" class="img-responsive" style="margin-right: 5px;height: 1em;" alt="Twitter icon">@xtext on Twitter</a>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>
  <a href="#" class="scrollup fadeOutRight animated" style="display: none;">ScrollUp</a>
  <!-- Le javascript
      ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
  
  <script src="/Xtext/js/jquery-1.11.3.min.js"></script>
  <script src="/Xtext/js/bootstrap.min.js"></script>
  <script src="/Xtext/js/jquery.easing.1.3.js" type="text/javascript"></script>
  <script src="/Xtext/js/jquery.prettyPhoto.js" type="text/javascript"></script>
  <script src="/Xtext/js/prettify.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-xtend.js" type="text/javascript"></script>
  <script src="/Xtext/js/lang-common.js" type="text/javascript"></script>
  <script src="/Xtext/js/custom.js" type="text/javascript"></script>
  <!--script src="https://apis.google.com/js/platform.js" async defer></script-->
  <!--script type="text/javascript">
    var _gaq = _gaq || [];  
      _gaq.push([ '_setAccount', 'UA-2429174-3' ]);
    _gaq.push([ '_trackPageview' ]);
    (function() {
      var ga = document.createElement('script');
      ga.type = 'text/javascript';
      ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl'
          : 'https://www')
          + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0];
      s.parentNode.insertBefore(ga, s);
    })();
  </script-->
  <script src="/Xtext/js/coverflow.min.js" type="text/javascript"></script>
  <script>
      $(function() {
        $('#coverflow').coverflow({
          active : 1,
          visibleAside: 2,
          overlap : 0.5,
          scale : 0.9,
          angle : 20,
          trigger : {
            "itemfocus" : true,
            "swipe" : true,
            "mousewheel" : false
          }
        });
        $('#coverflow :hidden').toggle();
        $(window).resize(function() {
          $('#coverflow').coverflow();
        });
      });

  </script>
</footer>


  </body>

</html>
